package org.lemon.cla.dto.request;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Min;
import lombok.Data;

import java.time.LocalDateTime;

@Data
@Schema(description = "社团活动创建请求对象")
public class ClubActivityCreateRequest {

    @NotNull(message = "所属社团ID不能为空")
    @Schema(description = "所属社团ID", example = "1", required = true)
    private Long clubId;

    @NotBlank(message = "活动名称不能为空")
    @Schema(description = "活动名称", example = "编程马拉松", required = true)
    private String activityName;

    @NotBlank(message = "封面URL不能为空")
    @Schema(description = "封面URL", example = "http://example.com/activity_cover.jpg", required = true)
    private String coverUrl;

    @NotBlank(message = "活动内容不能为空")
    @Schema(description = "活动内容", example = "为期两天的编程比赛，挑战你的极限！", required = true)
    private String content;

    @NotBlank(message = "地点不能为空")
    @Schema(description = "地点", example = "教学楼A栋101室", required = true)
    private String location;

    @Schema(description = "报名开始时间", example = "2024-07-01T09:00:00")
    private LocalDateTime signupStart;


    @Schema(description = "报名结束时间", example = "2024-07-15T18:00:00")
    private LocalDateTime signupEnd;


    @Schema(description = "活动开始时间", example = "2024-07-20T09:00:00")
    private LocalDateTime startTime;


    @Schema(description = "活动结束时间", example = "2024-07-21T18:00:00")
    private LocalDateTime endTime;

    @NotNull(message = "组织者ID不能为空")
    @Schema(description = "组织者ID (管理员ID)", example = "102", required = true)
    private Long organizerId;

}